package com.nice.nice201110.utils;

import com.nice.nice201110.entity.TNiceFile;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

public class UploadFile {

    /**上传文件 未带 当前用户信息
     * @param file 文件
     * @param filePath 上传文件路径，不包含文件名
     * @param fileName 新的文件名
     * @return 返回一个文件对象
     * @throws Exception
     */
    private TNiceFile tf = new TNiceFile();

    public TNiceFile uploadFile(MultipartFile file, String filePath, String fileNewName) throws Exception {
        //原文件名
        String filename = file.getOriginalFilename();
        if(fileNewName==null||fileNewName.trim().length()<=0){
            fileNewName = filename;
        }
        tf.setName(filename);
        //获取文件大小
        long lSize = file.getSize();
        tf.setBit(String.valueOf(lSize));
        //获取文件后缀名
        String suffix = filename.substring(filename.lastIndexOf("."));
        //判断目录是否为空，若为空新建目录
        File targetFile = new File(filePath);
        if(!targetFile.exists()){
            targetFile.mkdirs();
        }

        //上传文件路径
        String path = filePath+"/"+fileNewName+suffix;
        tf.setAdrr(path);
        //获取当前时间
        tf.setDate(new Date());
        //上传
        FileOutputStream out = new FileOutputStream(path);
        out.write(file.getBytes());
        out.flush();
        out.close();
        return tf;
    }
}
